<template>
  <!-- 公共新闻简介组件 -->
  <!-- 通过图片数量不同展示不同的结构 -->
  <van-cell class="article-item-container" :to="`/article/${article.art_id}`">
    <!-- 标题信息 -->
    <template #title>
      <!-- 使用vant中提供的内置样式 van-multi-ellipsis--l2 来实现两行文本的省略 -->
      <div class="title van-multi-ellipsis--l2">{{article.title}}</div>
    </template>
    <!-- 底部信息 -->
    <template #label>
      <!-- 根据图片数量进行判断,如果图片满3张,则显示以下图片展示结构 -->
      <div v-if="article.cover.type === 3" class="cover-wrap">
        <div v-for="(img, index) in article.cover.images" :key="index" class="cover-item">
          <van-image
          class="cover-img"
            fit="cover"
            :src="img"
          />
        </div>
      </div>
      <!-- 底部作者信息 -->
      <div class="author-info">
        <span>{{article.aut_name}}</span>
        <span>{{article.comm_count}}</span>
        <span>{{article.pubdate | relativeTime}}</span>
      </div>
    </template>

    <!-- 右侧图片信息 -->
    <template #default v-if="article.cover.type === 1">
      <van-image
        class="right-img"
        fit="cover"
        :src="article.cover.images[0]"
      />
    </template>
  </van-cell>
</template>

<script>
export default {
  name: 'articleItem',
  props: {
    article: {
      type: Object,
      default: () => ({})
    }
  },
  data () {
    return {

    }
  },
  methods: {

  }
}
</script>

<style lang="less" scoped>
.article-item-container {
  .title {
    color: #3a3a3a;
    font-size: 32px;
  }
  .van-cell__value{
    // 取消右侧盒子的flex布局,让横向剩余部分留给标题
    flex: unset;
    padding-left: 25px;
    .right-img {
      width: 230px;
      height: 146px;
    }
  }
  .author-info{
    span {
      font-size: 22px;
      color:#b4b4b4;
      margin-right: 25px;
    }
  }
  .cover-wrap {
    display: flex;
    padding: 30px 0;
    .cover-item {
      flex: 1;
      height: 146px;
      // 排除最后一个元素
      &:not(:last-child) {
        padding-right: 10px;
      }
      .cover-img {
        width: 100%;
        height: 100%;
      }
    }
  }
}
</style>
